1. Field of the Invention
The present invention relates generally to auditing for project management. Further, the present invention relates to gathering data and comparing it with best practices to establish status of a project and corrective actions.
2. Description of the Prior Art
Project management for knowledge-based projects such as software development, research and analytics is a difficult task. It is hard to establish the current status of a project in an accurate fashion. The management of software development projects is even more challenging, because the software development lifecycle is complex. It comprises multiple phases that are carried out sequentially or parallelly. These phases require teams of individuals that are often located in different physical locations to coordinate with each other in an efficient manner to complete all the activities in a given time. Estimating the time required for the software development phases is a harrowing task with which all project managers must cope.
It is even more difficult to estimate the amount of time spent on a particular task in a particular phase of a software development project. This is because team members often work on multiple software development projects simultaneously. It is important to have an accurate estimate of the time spent on a project by all team members in order to accurately estimate the time remaining and the completion date of the project. An accurate estimate of time spent also helps provide managers with knowledge about the current status of the project, and determine whether the project is proceeding as planned.
Traditionally, project managers estimate time spent on a project by requesting the team members to fill out weekly or daily timesheets. The team members fill these time sheets from memory, and hence these do not provide an accurate estimate of the time spent on the various activities of a project. This in turn leads to an inaccurate picture about the current status of a project. Without a clear picture about the current status of a project, it becomes even more difficult to predict the completion date for a project and adhere to it.
It is also difficult to estimate the performance of teams with such inaccurate data. One measure of performance is comparison of the team's performance with industry wide best practices. Since the best practices are computed by collecting performance data, which is inaccurate from the beginning, from multiple sources, the comparison will also not yield an accurate picture of the state of the current processes.
There are numerous attempted solutions that try to address this problem. One such example is U.S. Pat. No. 6,519,763 titled “Time Management and Task Completion and Management Software” by Kaufer et al. This patent describes an apparatus for ascertaining project completion and managing a project with high efficiency and accuracy. It comprises data collectors that automatically gather data that is generated from various tools, such as scheduling, defect tracking, and other software management and quality tools. The data is analyzed to generate statistical measures relating to the status of the project. The data collectors collect data from project management software, defect reports, testing reports and other sources that provide information about the project status.
Another such solution is described in US Patent Application Pub. No. 20050289503 titled “System for Identifying Project Status and Velocity through Predictive Measures” by Clifford. This patent application describes a method for providing visibility into the real time progress and status of software development projects by collecting measures from software development tools about the progress of the project, examining data sources created during the progress of the project and evaluating the collected data by using expert reasoning system based on causal modeling to arrive at project velocity views. The system collects data from sources such as configuration management systems, defect management systems, project management system and source code.
Although other systems try to address the problem of estimating project completion and project status accurately, they fails to address the need for a system that compares project status information with best practices in the industry. Further, the other systems do not describe a way in which project completion information from various companies and offices can be stored to generate best practices without compromising the security of the data. Additionally, the other attempted solutions do not describe a system that stores project related data from multiple organizations to develop community based best practices. The best practices should be classified on the basis of the type of project, the organization type and size and other suitable metrics.
From the above discussion, it is clear that there is a need for a system that will collect data across organizations and store the data in such a way that privacy of the organizations is not compromised. Further, the system should be able to generate best practices from the collected data and to provide comparisons about current trends of a project with the industry best practices. Thus there remains a need in the art for systems and methods that collect, aggregate, and analyze community data to provide anonymized, comparable information regarding project metrics, in particular for service processes that are not readily systematized.